In a digital data communication system (including storage and retrieval from optical or magnetic media) in order to increase the transfer rate of information and at the same time make the error rate arbitrarily low, it is necessary to employ an error control system. For fixed signal-to-noise ratios and fixed bandwidths, improvements can be made through the use of error-correcting codes.
With error-correction coding the data to be transmitted or stored is mathematically processed to obtain additional data symbols called check symbols or redundancy symbols. The data and check symbols together make up a codeword. After transmission or retrieval the codeword is mathematically processed to obtain error syndromes which contain information about locations and values of errors.
For many error-correcting codes (e.g. polynomial codes such as, but not limited to, Reed-Solomon codes) the codewords are formed by appending a remainder polynomial (redundancy symbols) to a data polynomial so as to make the composite polynomial divisible by a generator polynomial. The remainder polynomial is obtained by dividing the data polynomial by the generator polynomial and keeping the remainder polynomial. The error syndromes are obtained by dividing the received polynomial (a codeword polynomial which may have an error polynomial added to it) by the individual factors of the generator polynomial.